﻿using System.ComponentModel.DataAnnotations;

namespace SelfService.XinXing.Models
{
    public class ScreenQueueValidate
    {
        /// <summary>
        /// 医生编号
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string DoctorNo { get; set; }

        /// <summary>
        /// 医生名称
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string DoctorName { get; set; }

        /// <summary>
        /// 医生职称
        /// </summary>
        [MaxLength(50)]
        public string DoctorLevel { get; set; }

        /// <summary>
        /// 医生简介
        /// </summary>
        [MaxLength(4096)]
        public string DoctorInfo { get; set; }

        /// <summary>
        /// 科室编码
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string DeptCode { get; set; }

        /// <summary>
        /// 科室名称
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string DeptName { get; set; }

        /// <summary>
        /// 诊室名称
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string RoomName { get; set; }

        /// <summary>
        /// 诊室ID
        /// </summary>
        [Required]
        [MaxLength(50)]
        public string RoomId { get; set; }

        /// <summary>
        /// 就诊人列表
        /// </summary>
        public QueueItem[] CurList { get; set; }

        /// <summary>
        /// 候诊人列表
        /// </summary>
        public QueueItem[] WaitList { get; set; }

        /// <summary>
        /// 时间段
        /// </summary>
        public TimeSectionListItem[] TimeSectionList { get; set; }

        /// <summary>
        /// 是否呼叫 1=呼叫 2=不呼叫
        /// </summary>
        public CallEnum IsCall { get; set; }

        /// <summary>
        /// 呼叫人
        /// </summary>
        public string CallName { get; set; }

        /// <summary>
        /// 呼叫人号码
        /// </summary>
        public string CallQueueNo { get; set; }
    }


    public class QueueItem
    {
        /// <summary>
        /// 姓名
        /// </summary>
        [MaxLength(50)]
        [Required]
        public string Name { get; set; }

        /// <summary>
        /// 排队号
        /// </summary>
        [Required]
        [MaxLength(10)]
        public string QueueNo { get; set; }

        [Required]
        public QueueTypeEnum QueueType { get; set; }

        public string TimeSection { get; set; }
    }

    public class TimeSectionListItem
    {
        public string TimeSection { get; set; }

        public string Name { get; set; }

        public IsVisitEnum IsVisit { get; set; }

        public int RegType { get; set; }
    }

    public enum IsVisitEnum
    {
        否,
        是
    }


    public enum QueueTypeEnum
    {
        普通,
        预约,
        回诊,
        急诊,
        复诊,
        转诊,
        过号
    }

    public enum CallEnum
    {
        不呼叫,
        呼叫
    }
}
